package com.smh.a03BigDemo3;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Test {
    public static void main(String[] args) {

        System.out.println(0.9999+0.153251);
        //小数的精确运算(不精确)
        BigDecimal bigDecimal1 = new BigDecimal(0.124141412312312);
        System.out.println(bigDecimal1);
        //精确
        BigDecimal bigDecimal2 = new BigDecimal("0.1241414123123123");
        BigDecimal bigDecimal3 = new BigDecimal("0.1241414123123123");
        System.out.println(bigDecimal2);
        System.out.println();
        System.out.println(bigDecimal2.add(bigDecimal3));
        System.out.println(bigDecimal2.subtract(bigDecimal3));
        System.out.println(bigDecimal2.multiply(bigDecimal3));
        //除不尽会报错
        System.out.println(bigDecimal2.divide(bigDecimal3));
        //控制保留小鼠
        System.out.println(bigDecimal2.divide(bigDecimal3,2, RoundingMode.HALF_UP));
        System.out.println(bigDecimal2.divideAndRemainder(bigDecimal3)[0]);

        System.out.println(BigDecimal.valueOf(10));
        //也会不精确
        System.out.println(BigDecimal.valueOf(1.66669899999999999999842));





    }
}
